#ifndef _ROBOT_NAO_CVIRTUALNAO_H_
#define _ROBOT_NAO_CVIRTUALNAO_H_

#include <buola/scene.h>
#include <buola/scene/transform/crttransform.h>

namespace buola { namespace robot { namespace nao {

class CVirtualNao
{
public:
    CVirtualNao();
    ~CVirtualNao();

    void SetPose(const mat::CVecNd<26> &pPose);
    mat::CVecNd<26> GetPose();

    void Update();

    scene::PTransform GetRootTransform()    {   return mGroup;  }

private:
    mutex mMutex;
    scene::PRevolutionJoint mJoints[26];
    scene::PTransform mGroup;
    mat::CVecNd<26> mPose;
};

/*namespace nao*/ } /*namespace robot*/ } /*namespace buola*/ }

#endif
